/*
 * ========================================================
 * Copyright(c) 2014 杭州偶尔科技-版权所有
 * ========================================================
 * 本软件由杭州偶尔科技所有, 未经书面许可, 任何单位和个人不得以
 * 任何形式复制代码的部分或全部, 并以任何形式传播。
 * 公司网址
 * 
 * 			http://www.kkkd.com/
 * 
 * ========================================================
 */
package com.simon.mengkou.future.handler;

import android.content.Context;

import com.ouertech.android.agm.lib.base.bean.BaseRequest;
import com.ouertech.android.agm.lib.base.future.http.HttpEvent;
import com.ouertech.android.agm.lib.base.utils.UtilString;
import com.simon.mengkou.data.bean.base.PhoneAccessToken;
import com.simon.mengkou.data.bean.base.User;
import com.simon.mengkou.data.bean.req.GroupBuyCancelReq;
import com.simon.mengkou.data.bean.req.LoginReq;
import com.simon.mengkou.data.bean.req.RegisterReq;
import com.simon.mengkou.data.bean.req.UserModifyReq;
import com.simon.mengkou.data.db.dao.UserDao;
import com.simon.mengkou.data.enums.EAccountType;
import com.simon.mengkou.future.base.OuerFutureData;
import com.simon.mengkou.future.base.OuerHttpHandler;
import com.simon.mengkou.system.global.OuerApplication;
import com.simon.mengkou.system.global.OuerDispatcher;
import com.xiaomi.mipush.sdk.MiPushClient;

/**
 * @author : Zhenshui.Xia
 * @since : 2016/3/30.
 * desc    : 修改用户信息业务逻辑
 */
public class UserModifyHandler extends OuerHttpHandler {
    UserModifyReq mReq;

    public UserModifyHandler(Context context) {
        super(context);
    }

    @Override
    public boolean onEncode(HttpEvent evt) throws Exception {
        OuerFutureData futureData = (OuerFutureData)evt.getData();
        mReq = (UserModifyReq) futureData.getReq();
        return super.onEncode(evt);
    }

    @Override
    public void onHandle(HttpEvent evt) throws Exception {
        Boolean flag = (Boolean) evt.getData();

        if(flag) {
            //修改当前用户信息
            if(UtilString.isNotBlank(mReq.getAvatar())) {
                OuerApplication.mUser.setAvatarUrl(mReq.getAvatar());
            }

            OuerApplication.mUser.setNick(mReq.getNick());
            OuerApplication.mUser.setLocation(mReq.getLocation());
            OuerApplication.mUser.setSex(mReq.getSex());
            OuerApplication.mUser.setAge(mReq.getAge());

            //保存当前的用户信息到数据库
            UserDao userDao = OuerApplication.mDaoFactory.getUserDao();
            userDao.addUser(OuerApplication.mUser);

            OuerDispatcher.sendUserModifyBroadcast(mContext);
        }

        evt.getFuture().commitComplete(flag);
    }
}
